﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sebrae.Academico.InfraEstrutura.Core;
using Sebrae.Academico.Trilhas.Dominio.Classes;
using Sebrae.Academico.InfraEstrutura.Core.UnitOfWork;


namespace Sebrae.Academico.Trilhas.BM.Classes
{
    public class BMTrilha : BusinessManagerBase
    {

        #region Atributos

        private RepositorioBase<Trilha> repositorio;
        private RepositorioBase<Usuario> puseralt;

        #endregion

        #region "Construtor"
         

        public BMTrilha(IUnitOfWork unitOfWork)
        {
            // TODO: Complete member initialization
            repositorio = new RepositorioBase<Trilha>(unitOfWork);
            puseralt = new RepositorioBase<Usuario>(unitOfWork);

        }

        #endregion

        public Trilha ObterPorId(int ID)
        {
            return repositorio.ObterPorID(ID);
        }

        public IList<Trilha> BuscarporNome(Trilha ptrilha)
        {
            return repositorio.GetByProperty("Nome", ptrilha.Nome);
        }

        public void Salvar(Trilha ptrilha)
        {
            ptrilha.Usuario = puseralt.ObterPorID(4);
            repositorio.Salvar(ptrilha);
        }

        public IList<Trilha> ObterTrilhas()
        {
            return repositorio.ObterTodos();
        }

        public void ExcluirTrilha(Trilha pTrilha)
        {
            repositorio.Excluir(pTrilha);
        }

        public IList<Trilha> ObterTrilhaPorNome(string pNome)
        {
            
            return repositorio.LikeByProperty("Nome", pNome);
        }
    }
}
